//// http://mathias.gaunard.com/unicode/doc/html/Converter.html
//// http://mathias.gaunard.com/unicode/doc/html/boost/convert_iterator.html
//
//// http://svn.boost.org/svn/boost/sandbox/SOC/2009/unicode/libs/unicode/example/base64.cpp
//// Bajar http://svn.boost.org/svn/boost/sandbox/SOC/2009/unicode
//// Bajar 
//
//#include <string>
//#include <sstream>
//
//#include <boost/range/algorithm.hpp>
//#include <boost/range/istream_range.hpp>
//#include "base64_converter.hpp"	
//
//#include <boost/archive/iterators/binary_from_base64.hpp>
//
//
//#include "base64_stream.hpp"
//
//
//
//struct ntlm_t
//{
//	friend std::ostream& operator<<( std::ostream & ostr, ntlm_t const& data )
//	{
//		unsigned char ntlm_bin[] = {0x4e, 0x54, 0x4c, 0x4d, 0x53, 0x53, 0x50, 0x00};
//		ostr << boost::bin(ntlm_bin);
//		return ostr;
//	}
//};
//
//
//
//
//int main()
//{
//	std::string base64_str;
//	std::stringstream ssbase64;
//	ssbase64 << "TlRMTVNTUAACAAAADAAMADgAAAAVgonilcj4Ud4XZCoAAAAAAAAAAJoAmgBEAAAABgGxHQAAAA9DAEQAUwAtAEIAQQACAAwAQwBEAFMALQBCAEEAAQAQAFcAQQBSAEcAVABZADAAMQAEABgAYwBkAHMALQBiAGEALgBsAG8AYwBhAGwAAwAqAFcAQQBSAEcAVABZADAAMQAuAGMAZABzAC0AYgBhAC4AbABvAGMAYQBsAAUAGABjAGQAcwAtAGIAYQAuAGwAbwBjAGEAbAAHAAgAx6Se+fGBzAEAAAAA";
//
//	ssbase64 >> base64_str;
//
//
//
//	//std::cout << "Authentication: " << (base64_stream() << data) << '\n';
//	//std::cout << "Other Header: "   <<  "Plain Text...";
//
//  
//}
//
//
//
//
////int main()
////{
////	using boost::base64_encoder;
////	using boost::base64_decoder;
////	using boost::adaptors::converted;
////
////
////	//std::string source = "hello world!";
////	std::string source = "hello world";
////	//std::string source = "he";
////
////	std::stringstream target;
////
////
////	//auto x = boost::as_literal( source );
////
////	//boost::copy( source, std::ostream_iterator<char>(std::cout) );
////	//std::cout << std::endl;
////	//boost::convert( source, base64_encoder(), std::ostream_iterator<char>(std::cout) );
////
////	//boost::copy( convert( source, base64_encoder() ), std::ostream_iterator<char>(std::cout) );
////	std::cout << std::endl;
////	boost::copy( source | converted(base64_encoder()), std::ostream_iterator<char>(std::cout) );
////
////
////	boost::copy( source | converted(base64_encoder()), std::ostream_iterator<char>(target) );
////
////	std::string b64_str = target.str();
////
////	//b64_str = "aG";
////
////	std::cout << std::endl;
////	boost::copy( b64_str | converted(base64_decoder()), std::ostream_iterator<char>(std::cout) );
////
////
////	std::string decoded;
////	boost::copy( b64_str | converted(base64_decoder()), std::back_inserter(decoded) );
////
////
////	std::cout << std::endl;
////	std::cout << std::endl;
////	std::cout << std::endl;
////	std::cout << std::endl;
////
////
////
////	std::stringstream test;
////
////
////	test << "Authorization: ";
////	boost::copy( source | converted(base64_encoder()), std::ostream_iterator<char>(test) );
////	test << "\n";
////	test << "Header: Value\n";
////
////	std::cout << test.str();
////}